package org.lys.reflect;

public class ReflectPoint {
	public int x;
	private int y;
	
	public String str1 ="abc";
	
	public String str2 ="bca";
	
	public String str3 ="cab";
	
	@SuppressWarnings("unused")
	private ReflectPoint(){
		
	}
	
	public ReflectPoint(int x, int y) {
		super();
		this.x = x;
		this.y = y;
	}

	
	@Override
	public String toString() {
		return "ReflectPoint [x=" + x + ", y=" + y + ", str1=" + str1
				+ ", str2=" + str2 + ", str3=" + str3 + "]";
	}


	public String descLocation(){
		return "x:"+x+" and y:"+y;
	}
	
	public static String show(int x,int y){
		 return "Show At: x="+x+" and y="+y;
	}
	
	public static void main(String[] args) {
		for (String string : args) {
			System.out.println(string);
		}
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((str1 == null) ? 0 : str1.hashCode());
		result = prime * result + ((str2 == null) ? 0 : str2.hashCode());
		result = prime * result + ((str3 == null) ? 0 : str3.hashCode());
		result = prime * result + x;
		result = prime * result + y;
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ReflectPoint other = (ReflectPoint) obj;
		if (str1 == null) {
			if (other.str1 != null)
				return false;
		} else if (!str1.equals(other.str1))
			return false;
		if (str2 == null) {
			if (other.str2 != null)
				return false;
		} else if (!str2.equals(other.str2))
			return false;
		if (str3 == null) {
			if (other.str3 != null)
				return false;
		} else if (!str3.equals(other.str3))
			return false;
		if (x != other.x)
			return false;
		if (y != other.y)
			return false;
		return true;
	}
	
	@SuppressWarnings("unused")
	private String priMethod(String input){
		return input;
	}
	
}
